+++ /dev/null
-Overview
---------
-
-The build process is divided into two levels:
-
-1) Yocto
-2) ostbuild
-
-Yocto is used as a reliable, well-maintained bootstrapping tool. It
-provides the basic filesystem layout as well as binaries for core
-build utilities like gcc and bash. This gets us out of circular
-dependency problems.
-
-At the end, the Yocto build process generates two tarballs: one for a
-base "runtime", and one "devel" with all of the development tools like
-gcc. We then import that into an OSTree branch
-e.g. "bases/gnomeos-3.4-yocto-i686-devel".
-
-We also have a Yocto recipe "ostree-native" which generates (as you
-might guess) a native binary of ostree. That binary is used to import
-into an "archive mode" OSTree repository. You can see it in
-$builddir/tmp/deploy/images/repo.
-
-Now that we have an OSTree repository storing a base filesystem, we
-can use "ostbuild" which uses "linux-user-chroot" to chroot inside,
-run a build on a source tree, and outputs binaries, which we then add
-to the build tree for the next module, and so on.
-
-ostbuild details
-----------------
-
-The simple goal of ostbuild is that it only takes as input a
-"manifest" which is basically just a list of components to build. A
-component is a pure metadata file which includes the git repository
-URL and branch name, as well as ./configure flags (--enable-foo).
-
-There is no support for building from "tarballs" - I want the ability
-to review all of the code that goes in, and to efficiently store
-source code updates.
-
-The result of a build of a component is an OSTree branch like
-"artifacts/gnomeos-3.4-i686-devel/libxslt/master". Then, a "compose"
-process merges together the individual filesystem trees into the final
-branches (e.g. gnomeos-3.4-i686-devel).
-
-Doing a full build on your system
----------------------------------
-
-srcdir=/src
-builddir=/src/build
-
-# First, you'll need "http://git.gnome.org/browse/linux-user-chroot/"
-# installed as setuid root.
-
-cd $srcdir
-
-git clone gnome:linux-user-chroot
-cd linux-user-chroot
-NOCONFIGURE=1 ./autogen.sh
-./configure
-make
-sudo make install
-sudo chown root:root /usr/local/bin/linux-user-chroot
-sudo chmod u+s /usr/local/bin/linux-user-chroot
-
-# Next, we're grabbing my Poky branch.
-
-git clone git://github.com/cgwalters/poky.git
-cd $builddir
-
-# This command enters the Poky environment, creating
-# a directory named gnomeos-build.
-. $srcdir/poky/oe-init-build-env gnomeos-build
-
-# Now edit conf/bblayers.conf, and add
-# /src/ostree/gnomeos/yocto
-# to BBLAYERS.
-
-bitbake ostree-native
-bitbake gnomeos-contents-{runtime,devel}
-
-# This bit is just for shorthand convenience, you can skip it
-cd $builddir
-ln -s tmp/deploy/images/repo repo
-
-# Now create a file ~/.config/ostbuild.cfg
-# example contents:
-# [global]
-# repo=/src/build/gnomeos-build/build/repo
-# mirrordir=/src/build/ostbuild/src
-# workdir=/src/build/ostbuild/work
-# manifest=/src/ostree/gnomeos/3.4/manifest.json
-
-# Now we want to use the "ostbuild" binary that was created
-# as part of "bitbake ostree-native". You can do e.g.:
-
-export PATH=$build/tmp-eglibc/sysroots/x86_64-linux/usr/bin:$PATH
-
-# This next command will download all of the source code to the
-# modules specified in $srcdir/ostree/gnomeos/3.4/manifest.json,
-# and create a file $workdir/manifest.json that has the
-# exact git commits we want to build.
-ostbuild resolve
-
-# This command builds everything
-ostbuild build
--- /dev/null
+Overview
+--------
+
+The build process is divided into two levels:
+
+1) Yocto
+2) ostbuild
+
+Yocto is used as a reliable, well-maintained bootstrapping tool. It
+provides the basic filesystem layout as well as binaries for core
+build utilities like gcc and bash. This gets us out of circular
+dependency problems.
+
+At the end, the Yocto build process generates two tarballs: one for a
+base "runtime", and one "devel" with all of the development tools like
+gcc. We then import that into an OSTree branch
+e.g. "bases/gnomeos-3.4-yocto-i686-devel".
+
+We also have a Yocto recipe "ostree-native" which generates (as you
+might guess) a native binary of ostree. That binary is used to import
+into an "archive mode" OSTree repository. You can see it in
+$builddir/tmp/deploy/images/repo.
+
+Now that we have an OSTree repository storing a base filesystem, we
+can use "ostbuild" which uses "linux-user-chroot" to chroot inside,
+run a build on a source tree, and outputs binaries, which we then add
+to the build tree for the next module, and so on.
+
+ostbuild details
+----------------
+
+The simple goal of ostbuild is that it only takes as input a
+"manifest" which is basically just a list of components to build. A
+component is a pure metadata file which includes the git repository
+URL and branch name, as well as ./configure flags (--enable-foo).
+
+There is no support for building from "tarballs" - I want the ability
+to review all of the code that goes in, and to efficiently store
+source code updates.
+
+The result of a build of a component is an OSTree branch like
+"artifacts/gnomeos-3.4-i686-devel/libxslt/master". Then, a "compose"
+process merges together the individual filesystem trees into the final
+branches (e.g. gnomeos-3.4-i686-devel).
+
+Doing a full build on your system
+---------------------------------
+
+srcdir=/src
+builddir=/src/build
+
+# First, you'll need "http://git.gnome.org/browse/linux-user-chroot/"
+# installed as setuid root.
+
+cd $srcdir
+
+git clone gnome:linux-user-chroot
+cd linux-user-chroot
+NOCONFIGURE=1 ./autogen.sh
+./configure
+make
+sudo make install
+sudo chown root:root /usr/local/bin/linux-user-chroot
+sudo chmod u+s /usr/local/bin/linux-user-chroot
+
+# We're going to be using Yocto. You probably want to refer to:
+# http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html
+# Next, we're grabbing my Poky branch.
+
+git clone git://github.com/cgwalters/poky.git
+cd $builddir
+
+# This command enters the Poky environment, creating
+# a directory named gnomeos-build.
+. $srcdir/poky/oe-init-build-env gnomeos-build
+
+# Now edit conf/bblayers.conf, and add
+# /src/ostree/gnomeos/yocto
+# to BBLAYERS.
+# remove tools-profile and tools-testapps from EXTRA_IMAGE_FEATURES
+# Also, you should choose useful values for BB_NUMBER_THREADS, PARALLEL_MAKE
+
+bitbake ostree-native
+bitbake gnomeos-contents-{runtime,devel}
+
+# This bit is just for shorthand convenience, you can skip it
+cd $builddir
+ln -s tmp/deploy/images/repo repo
+
+# Now create a file ~/.config/ostbuild.cfg
+# example contents:
+# [global]
+# repo=/src/build/gnomeos-build/build/repo
+# mirrordir=/src/build/ostbuild/src
+# workdir=/src/build/ostbuild/work
+# manifest=/src/ostree/gnomeos/3.4/manifest.json
+
+# Now we want to use the "ostbuild" binary that was created
+# as part of "bitbake ostree-native". You can do e.g.:
+
+export PATH=$build/tmp-eglibc/sysroots/x86_64-linux/usr/bin:$PATH
+
+# This next command will download all of the source code to the
+# modules specified in $srcdir/ostree/gnomeos/3.4/manifest.json,
+# and create a file $workdir/manifest.json that has the
+# exact git commits we want to build.
+ostbuild resolve
+
+# This command builds everything
+ostbuild build
--- /dev/null
+Overview
+--------
+
+http://ostree.gnome.org is the sole build/deploy server right now.
+
+Notably http://ostree.gnome.org/repo is an OSTree repo which holds
+binaries.
+
+To install, right now you need to build the 'ostree' git module
+somehow. I personally use jhbuild, but you could make an RPM/.deb or
+whatever too.
+
+Replace ~/src with whereever you keep source code.
+
+$ cd ~/src
+$ git clone git://git.gnome.org/ostree
+$ cd ostree
+$ jhbuild buildone -nf $(basename $(pwd))
+
+Now we need to run the install script as root.
+
+$ su -
+# ~/src/ostree/gnomeos/yocto/gnomeos-install.sh
+
+Now you may need to edit your GRUB configuration. This part varies
+for GRUB 1 versus GRUB 2. The GRUB 2 bits in "15_ostree" don't really
+work yet. I'm just manually writing GRUB 1 entries.
+
+
+
+++ /dev/null
-Setup
------
-
-We're going to be using Yocto. You probably want to refer to:
-http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html
-
-The first part of this setup just repeats that.
-
-Choose a directory for git sources, and a different directory for
-builds. I use: /src/ for git checkouts, and /src/build for builds.
-
-Get a Yocto checkout:
-
-cd /src
-git clone -b edison git://git.yoctoproject.org/poky.git
-
-mkdir -p /src/build/gnomeos
-cd /src/build/gnomeos
-. oe-init-build-env
-
-If you want at this point, you can run 'bitbake core-image-minimal'
-and you'll get an image bootable in QEMU. However, our next step
-is to set up the gnomeos layer on top.
-
-You'll need a checkout of ostree:
-
-cd /src
-git clone git://git.gnome.org/ostree
-
-Now, edit /src/build/gnomeos/build/conf/layers.conf
-
-Add /src/ostree/gnomeos/yocto as a layer. I also recommend editing
-conf/local.conf and doing the following:
-
- * remove tools-profile and tools-testapps from EXTRA_IMAGE_FEATURES
- * choose useful values for BB_NUMBER_THREADS, PARALLEL_MAKE
-
-